1. The Field of the Invention
The present invention relates to the maintenance of replicated data within databases. More specifically, the present invention relates to manners of maintaining data integrity within database tables having heterogeneous schemas.
2. The Relevant Technology
Information replication frequently occurs in modem database usage. An entity or organization may have access to various tables or “relations” within a one or more databases. The various tables may contain partially or fully replicated information. That is, the information or “data” within different tables may be equivalent. Additionally, the various tables may exhibit heterogeneous formatting, or “schemas.” That is, the information within the various tables may be organized into different combinations of relations, rows, and columns, possibly with different relation names, row names, and columns. Such tables are referred to herein as being “restructuring views” of each other.
Tables containing replicated data may occur naturally. That is, the various tables exist for independent purposes. For instance, separate departments of an organization may individually maintain their own data or tables within a common database. However, the data that is populated within the various tables may originate from a common source. Separate databases that contain replicated information and heterogeneous schemas may also exist at different locations within a particular organization. Replicated information may also be generated and maintained by different organizations within separate databases that are commonly available over large scale networks such as the Internet.
In another scenario, data may also be replicated in multiple tables for research purposes. A first table or “base table” is generally a naturally occurring database. Other tables may be replicated as subsets of the first table. The replications often take the form of views. A view is a mechanism employed by database languages, such as SQL, that may act as a filter. A view may show only a portion of the data in the table to the user.
Views, as abbreviated forms of the tables, can be searched more quickly than the full table or set of tables. A view may be created every time it is referenced. A view may also be “materialized” and exist in a persistent form.
Generally, when data is replicated, such as for research purposes, integrity is maintained through the use of materialized views. A multiple database system (MDBS), in which materialized views are used for research and complex querying, is known as a data warehouse. Various tools for managing such data warehouses exist, one example of which is IBM's DataJoiner® product.
It may be a primary objective in designing database systems to expedite query servicing (i.e. reduce query latencies) by optimizing the query system. The use of materialized views is one manner in which the art has approached query optimization. It is often the case that certain materialized views can be more efficiently accessed for certain types of queries while others are more efficient for other types of queries. Thus, one technique for speeding up query servicing is to maintain a plurality of materialized views and to selectively direct queries to the appropriate materialized view for which the query can be most rapidly serviced.
A further development in the art of MDBS management is the addition of certain management tools to database languages such as SQL. One such tool is SchemaSQL. SchemaSQL is a proposed extension to the SQL language that promotes efficient manipulation and classification of materialized views. For instance, SchemaSQL provides “view definitions,” which allow one materialized view to be mapped to another.
Conventional management and querying of views presumes that the views exhibit a common schema. Nevertheless, as discussed above, many naturally occurring multiple database systems include databases having heterogeneous schemas. Additionally, tables that are restructuring views of each other may, as discussed, be created for research purposes. Accordingly, many database systems include base tables and replicated tables that are restructuring views of those tables. While the prior art provides manners of maintaining standard materialized views, no provisions have been made for maintaining tables that are restructuring views of each other.
Accordingly, a need exists for a manner of maintaining database tables that are restructuring views of each other. Such a maintenance system, to be most advantageous, should be easily implemented with existing technology and noninvasive to the MDBS on which it is intended to operate. Such a maintenance system and its method of use are disclosed herein.